.TH nohang 1

.SH NAME

nohang \- A highly configurable OOM preventer

.SH SYNOPSIS
.B nohang
.RB [ OPTION ]...

.SH DESCRIPTION

Nohang is a highly configurable daemon for Linux which is able to correctly prevent out of memory (OOM) and keep system responsiveness in low memory conditions.

.SH REQUIREMENTS

.B For basic usage:

    - Linux 3.14+ (since MemAvailable appeared in /proc/meminfo)

    - Python 3.3+ (not tested with previous)

.B To show GUI notifications:

    - Notification server (most of desktop environments use their own implementations)

    - libnotify (Fedora, Arch Linux) or libnotify-bin (Debian GNU/Linux, Ubuntu)

    - sudo if nohang started with UID=0

.B To use PSI:

    - Linux 4.20+

.SH OPTIONS

  -h, --help            show this help message and exit

  -v, --version         print version

  -p, --print-proc-table
                        print table of processes with their badness values

  -c CONFIG, --config CONFIG
                        path to the config file, default values:
                        ./nohang.conf, /etc/nohang/nohang.conf

  -cc CONFIG, --check-config CONFIG
                        check and print config

.SH HOW TO CONFIGURE

The program can be configured by editing the config file.

.B The configuration includes the following sections:

    - Memory levels to respond to as an OOM threat

    - Response on PSI memory metrics

    - The frequency of checking the level of available memory (and CPU usage)

    - The prevention of killing innocent victims

    - Impact on the badness of processes via matching their names, cmdlines and UIDs with regular expressions

    - The execution of a specific command or sending any signal instead of sending the SIGTERM signal

    - GUI notifications:
        - notifications of corrective actions taken
        - low memory warnings

    - Verbosity

    - Misc

Just read the description of the parameters and edit the values.

Please restart nohang to apply the changes.

Default path to the config after installing is /etc/nohang/nohang.conf.

.SH LOGGING

To view the latest entries in the log (for systemd users):

$ sudo journalctl -eu nohang

See also man journalctl.

You can also enable separate_log in the config to logging in /var/log/nohang/nohang.log.

.SH SEE ALSO

https://github.com/hakavlad/nohang
